Telegram Group Search
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
54%
0
4%
1
4%
2
27%
null
10%
ArrayIndexOutOfBoundsException
👩‍💻 Ключевые паттерны системного дизайна

В видео разбираются основные архитектурные паттерны, которые помогают строить надёжные и масштабируемые системы: CQRS, Pub/Sub, Event Sourcing, Circuit Breaker и другие.

Автор объясняет, как и зачем они применяются, с примерами, плюсами и ограничениями каждого подхода.

📱 Смотреть на YouTube

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

За счёт чего достигается синхронизация в ConcurrentHashMap?

Ответ:
В ConcurrentHashMap, начиная с Java 8, синхронизация достигается за счёт сочетания атомарных операций и локальной синхронизации на уровне отдельных ячеек (bin) таблицы.

Когда происходит вставка, карта сначала пытается разместить элемент в нужной ячейке массива table с помощью атомарной операции CAS (Compare-And-Swap). Это безблокирующий способ записи: если ячейка пуста, значение вставляется безопасно без захвата монитора.

Если в ячейке уже есть другие элементы и простая вставка невозможна, используется synchronized, но только на уровне конкретного узла (Node). Это означает, что блокировка применяется локально, не затрагивая всю карту, и другие потоки могут параллельно работать с другими ячейками.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Бинарный поиск на пальцах

В статье простыми словами объясняется, как устроены массивы и как работает бинарный поиск «под капотом» — с наглядными примерами и аналогиями.

Вы шаг за шагом узнаете, как реализовать бинарный поиск на Java, какие ошибки могут возникнуть в процессе и как их исправить.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
16%
-2
32%
-1
20%
0
14%
1
4%
2
13%
Ошибка
👩‍💻 Основы работы с Spring Security

В видео подробно разбирается, как выстроить систему безопасности в Spring-проекте: от базовой аутентификации до кастомной авторизации с JWT и хранением пользователей в базе.

Автор показывает полный путь — конфигурация, разграничение доступа, работа с ролями, пермишинами и безопасный логин через форму или токен.

📱 Смотреть на YouTube

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Кто понял, тот понял

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Можно ли явно передать управление другому потоку?

Ответ:
В Java нельзя явно указать, какому потоку передать управление. Thread.sleep() гарантированно приостанавливает текущий поток как минимум на заданное время, но решение о том, какой поток выполнится следующим, остаётся за планировщиком. Thread.yield() вообще ничего не гарантирует — это лишь рекомендация планировщику временно приостановить текущий поток в пользу другого с тем же приоритетом.

Единственный способ заставить поток уступить процессор — это привести его в состояние блокировки: с помощью wait(), join(), LockSupport.park() или блокировок (synchronized, ReentrantLock и др.). Это приостанавливает выполнение до выполнения условий разблокировки, но даже в этом случае нельзя указать, какой именно поток будет следующим — планировщик сам решает порядок.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Нельзя так просто взять и вычислить абсолютное значение

В статье разбираются неожиданные подводные камни при вычислении абсолютного значения double в Java, связанные с существованием +0.0 и -0.0.

Автор показывает, как корректно и эффективно реализовать метод abs(), чтобы избежать ошибок и снизить издержки, вплоть до безветвленного варианта на битовых операциях.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы не ищем легких путей

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
Что общего между рекомендациями сериалов и автопилотом Tesla? И те, и другие работают благодаря машинному обучению.

С каждым годом ML-инженеры становятся всё востребованнее, а задачи перед ними — интереснее. Узнайте, как построить карьеру в перспективной сфере на дне открытых дверей онлайн-магистратуры УрФУ и Нетологии «Инженерия машинного обучения».

Вы узнаете:
➡️ Кто такие Data Engineer и ML-Engineer.
➡️ Как построить карьеру в Machine Learning.
➡️ Как поступить и обучаться онлайн.

🗓 24 июня, 18:00 (Мск)

Регистрация по ссылке: https://netolo.gy/edLK?erid=2W5zFH2pEfi
Вопрос с собеседования

В каких состояниях может находиться поток?

Ответ: Поток в Java может находиться в одном из следующих состояний, определённых перечислением Thread.State:

▶️ NEW — поток создан, но ещё не запущен (метод start() не вызывался)

▶️ RUNNABLE — поток готов к выполнению и может быть выбран планировщиком для исполнения. Это объединяет как активные, так и ожидающие исполнения потоки

▶️ BLOCKED — поток ожидает монитора, чтобы войти в синхронизированный блок/метод, занятый другим потоком

▶️ WAITING — поток ожидает, пока другой поток не вызовет notify(), notifyAll() или join() на объекте. Примеры: Object.wait(), Thread.join()

▶️ TIMED_WAITING — как WAITING, но с таймаутом. Например, sleep(), join(timeout), wait(timeout), LockSupport.parkNanos()

▶️ TERMINATED — поток завершил выполнение либо нормально (метод run() завершён), либо из-за необработанного исключения.

Эти состояния отражают внутреннюю модель выполнения JVM и используются для анализа поведения многопоточных программ.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Основы работы со Stream API

В видео разбирается, как упростить работу с коллекциями с помощью Stream API: фильтрация, сортировка, группировка и проверка условий.

Автор показывает, как заменить громоздкие императивные конструкции на лаконичный и читаемый код в функциональном стиле.

📱 Смотреть на YouTube

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/24 17:58:16
Back to Top
HTML Embed Code: